package com.yin.waimai.service;

import com.yin.waimai.dto.RegistrationRequestDTO;
import com.yin.waimai.dto.UserDTO;
import com.yin.waimai.model.User;

import java.util.List;

public interface UserService {

    /**
     * 注册新用户。
     *
     * @param registrationRequest 包含注册信息的DTO
     * @return 创建的用户实体
     * @throws IllegalStateException 如果用户名或邮箱已存在（取决于业务逻辑）
     */
    User registerNewUser(RegistrationRequestDTO registrationRequest) throws IllegalStateException;

    /**
     * 获取所有用户
     * @return 用户DTO列表
     */
    List<UserDTO> findAllUsers();

    /**
     * 获取用户总数
     * @return 用户总数
     */
    long countUsers();
}